package basketball_behaviour

import (
	"longmen/server/internal/services/nami/services/sports/basketball"
	"longmen/server/pkg/db/mysql/models/models_sports"
)

type (
	TeamApiResponse struct {
		Code  int `json:"code"`
		Query struct {
			Total int    `json:"total"`
			Type  string `json:"type"`
			ID    int    `json:"id"`
			MinID int    `json:"min_id"`
			MaxID int    `json:"max_id"`
			Limit int    `json:"limit"`
		} `json:"query"`
		Results []Team `json:"results"`
	}
	Team struct {
		ID            int    `json:"id"`             // 球队id
		CompetitionID int    `json:"competition_id"` // 赛事id
		ConferenceID  int    `json:"conference_id"`  // 赛区id，1-大西洋赛区、2-中部赛区、3-东南赛区、4-太平洋赛区、5-西北赛区、6-西南赛区、7-A组赛区、8-B组赛区、9-C组赛区、10-D组赛区（1~6:NBA 7~10:CBA）、0-无
		VenueID       int    `json:"venue_id"`       // 场馆id
		NameZh        string `json:"name_zh"`        // 中文名称
		NameZht       string `json:"name_zht"`       // 粤语名称
		NameEn        string `json:"name_en"`        // 英文名称
		ShortNameZh   string `json:"short_name_zh"`  // 中文简称
		ShortNameZht  string `json:"short_name_zht"` // 粤语简称
		ShortNameEn   string `json:"short_name_en"`  // 英文简称
		Logo          string `json:"logo"`           // 球队logo
		UpdatedAt     int    `json:"updated_at"`     // 更新时间
	}
)

func (r TeamApiResponse) Interface() []basketball.InsertTeamInterface {
	a := make([]basketball.InsertTeamInterface, 0)
	for _, record := range r.Results {
		a = append(a, record)
	}
	return a
}

func (c Team) Get() models_sports.BasketballTeam {
	return models_sports.BasketballTeam{
		ID:            c.ID,
		CompetitionID: c.CompetitionID,
		ConferenceID:  c.ConferenceID,
		VenueID:       c.VenueID,
		NameZh:        c.NameZh,
		NameZht:       c.NameZht,
		NameEn:        c.NameEn,
		ShortNameZh:   c.ShortNameZh,
		ShortNameZht:  c.ShortNameZht,
		ShortNameEn:   c.ShortNameEn,
		Logo:          c.Logo,
		UpdatedAt:     c.UpdatedAt,
	}
}
